﻿Imports Commander_Wars.Spieletools
''' <summary>
''' Wird zu erstellen des KO's Maverik verwendet copyright Nintendo und Intelligent System
''' </summary>
''' <remarks></remarks>
Public Class KOMaverik
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.Beides)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.Beides)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "MAVERIK"
        Armee = Armeen.BH.ToString
        Musik = "Maverik"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1100
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1100
                Gabekosten = 5
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1100
                Gabekosten = 5
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1100
                Gabekosten = 5
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 2
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        Gabenfueller = 0.9
        OffensivStaerke = New Feuerkrafttabelle110
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If OhneFunktion = False Then
            Dim WZeit As Integer = 2
            EigeneEinheitenHeilen(1)
            AnimationEigene("DRAKEGABE", WZeit)
            AlleFeindeBeschaedigen(1)
            AnimationFeindliche("DRAKEGABE", WZeit)
        End If
        GabeEingesetzt()
    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(1, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.AllEnemies))
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(1, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.Own))
                Return P
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(2, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.AllEnemies))
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(2, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.Own))
                Return P
            Case Else
                Return Nothing
        End Select
    End Function
    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                If OhneFunktion = False Then
                    Dim WZeit As Integer = 2
                    EigeneEinheitenHeilen(1)
                    AnimationEigene("DRAKEGABE", WZeit)
                    AlleFeindeBeschaedigen(1)
                    AnimationFeindliche("DRAKEGABE", WZeit)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDC
                If OhneFunktion = False Then
                    Dim WZeit As Integer = 2
                    EigeneEinheitenHeilen(1)
                    AnimationEigene("DRAKEGABE", WZeit)
                    AlleFeindeBeschaedigen(1)
                    AnimationFeindliche("DRAKEGABE", WZeit)
                End If
                GabeEingesetzt()
            Case Else
                If OhneFunktion = False Then
                    Dim WZeit As Integer = 2
                    AnimationEigene("SPEZIALGABE", WZeit)
                    AnimationFeindliche("SPEZIALGABE", WZeit)
                    EigeneEinheitenHeilen(2)
                    AlleFeindeBeschaedigen(2)
                End If
                GabeEingesetzt()
        End Select

    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungMaverik
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Maverik"
        Fein = "Schwarzer Kaffe"
        Nein = "Inkompetenz"
        Beschreibung = New String() {"Ein KO der alles versucht um seine", "Ziele zu erreichen."}
        Stil = New String() {"Seine Truppen sind staerker als die", "anderer KO und seine Gabeleiste", "baut sich langsamer auf."}
        Gabebeschreibung = New String() {"Feindliche Einheiten verlieren 1 TP im aus", "gleich dazu gewinnen seine Truppen 1 TP."}
        SpezialgabeBeschreibung = New String() {"Feindliche Einheiten verlieren 2 TP im aus", "gleich dazu gewinnen seine Truppen 2 TP."}
        GabeKosten = 5
        Spezialgabekosten = 4
        Gaben = New String() {"Schwarze Welle", "Schwarzes Toben"}
        Synergie = New Decimal() {1, 0.5#, -1, -1, -2, -3, 2, -1, -3}
        KONamen = New String() {"KAT", "ANDY", "DRAKE", "JESS", "CANDY", "EAGLE", "GRAVES", "CONRAD", "AMY"}
        Doppelgabenamen = New String() {"Rebellion", "Unheilvolle Allianz", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Antagonisten Entscheidung", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Das ist das Ende!" _
                                     , "Lebewohl!" _
                                     , "Meine Hochachtung! Du lebst immer noch." _
                                     , "Du beeintrugst mich. Jetzt werde ich anfangen zu handeln." _
                                     , "Besiegt zu werden bedeutet alles zu verlieren. Bist du darauf vorbereitet?" _
                                     , "Du laesst mit keine Wahl."}
        Siegsaetze = New String() {"Wenn du alles gibst! Kannst du mich vielleicht besiegen." _
                                , "Schade... Ihr wart keine Herausforderung." _
                                , "Du hattest keine Chance. Mein Sieg war sicher."}
        Tauschsaetze = New String() {"Spielzeit ist vorbei." _
                                    , "Deine Niederlage ist unausweichlich."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("KAT", "MAVERIK", "Lass uns spielen!", "Kat dies ist kein Spiel.") _
                                              , New DoppelGabesatz("MAVERIK", "KAT", "Zeit meine Plaene umzusaetzen.", "Sind die auch lustig und machen Spass?") _
                                              , New DoppelGabesatz("ANDY", "MAVERIK", "Gleich haben wir gewonnen.", "Gut gekaempft. Jetzt weiss ich warum du mich das letzte Mal besiegt hast.") _
                                              , New DoppelGabesatz("ANDY", "MAVERIK", "Hey wir sind jetzt Freunde. Lass uns die Haende schuetteln", "Nein! Ich kann niemanden vertrauen.")}
        Niederlagesaetze = New String() {"Das war es dann. Wir sollten uns zurueck ziehen.", _
                                        "...Das ist eine Situation von der ich nie erwartet habe das sie mir passiert."}
    End Sub
End Class
